This invention relates to a system for image enhancement and, more particularly, to a system for enhancing the quality of a quantized image.
As the state of the art of digital signal technology advances, related technologies such as digital image processing has experienced a corresponding growth and benefit. For example, the development and proliferation of facsimile communications allows images to be encoded into digital signals, transmitted over conventional telephone line, and decoded into a close representation of the original images. Image data are also digitally encoded for ease of storage, modification, copying, etc. As is common experience with growing technologies, the field of digital image processing is also experiencing problems with applications in new areas.
Problems in the area of digital image processing relate generally to achieving a balance between acceptable image distortion and bit-depth representations. In order to increase the efficiency and therefore the usefulness of digital image decoding schemes, the coding system must provide a coded set of image data that is more efficient to store, transmit, etc., than the original image data and must reproduce a decoded image with some minimum level of quality. However, the conversion of relatively high bit rate image data to lower bit rate data virtually always entails a loss of image quality.
One straightforward method for digitizing an image is to create an artificial grid over the image and to assign a value to each grid space representing the color of the original image at that grid space. If the grids are made small enough and the values represent a large enough range of color, then the image may be encoded and decoded with small image quality degradation. For example, display screen images are made up of an array of pixels, i.e., picture elements. On a black and white screen, each pixel has a value of one or zero representing the on/off state of the pixel. In a one-to-one bit-to-pixel coding scheme, each pixel value is represented as a 1 or as a 0 and the entire screen image is encoded. The result of the encoding is an array of binary values. To decode the image, the array values are translated into a screen image having pixels on or off in the same order in which they were originally encoded.
If the image is comprised of more than two distinct colors, then more than a 1-bit code must be used to represent the pixel values. For example, if four distinct colors are present in the image, a 2-bit binary code can represent all of the values. If the image includes 256 distinct colors, an 8-bit binary code is required to uniquely represent each of the color values. The memory requirements for such coding schemes increase as the number of distinct colors in the image increases. However, with high bit-depth representation schemes, the quality of the image that results will be good as long as the digital image transmission or recovery from storage is successful.
To reduce the size of the encoded digital image, the bit-depth representation of the image may be reduced in some manner. For example, an image with a bit-depth of 6 bits per pixel requires significantly less storage capacity and bandwidth for transmission than the same sized image with 16 bits per pixel.
Decoded images, constructed by a low bit-depth representation, generally suffer from the following types of degradations: (a) quasi-constant or slowly varying regions suffer from contouring effects and amplified granular noise, and (b) textured regions lose detail.
Contouring effects, which are the result of spatial variations, in a decoded image are generally fairly obvious to the naked eye. The contouring effects that appear in the slowly varying regions are also caused by the fact that not all of the variations in the intensity of the original image are available for the decoded image. For example, if a region of the original image included an area having 4 intensity changes therein, the decoded image might represent the area with only 2 intensities. In contrast to the contouring effects, the effect of the granular noise on the viewed image is often mitigated by the very nature of the textured regions. But it can be both amplified or suppressed due to quantization, as well as altered in spectral appearance.
Kundu et al., U.S. Pat. No. 5,218,649, disclose an image processing technique that enhances images by reducing contouring effects. The enhancement system identifies the edge and non-edge regions in the decoded image. Different filters are applied to each of these regions and then they are combined together. A low pass filter (LPF) is used on the non-edge regions, and a high-pass enhancer is used on the edge regions. Kundu et al. teaches that the contour artifacts are most visible in the non-edge areas, and the LPF will remove these edges. Unfortunately, problems arise in properly identifying the edge regions (is a steep slope an edge or a non-edge?). In addition, problems arise in setting thresholds in the segmentation process because if the contours have a high enough amplitude, then they will be classified as edges in the segmentation, and thus not filtered out. Moreover, the image segmentation requires a switch, or if statement, and two full-size image buffers to store the edge map and smooth map, because the size of these regions varies from image to image, all of which is expensive and computationally intensive.
Chan, U.S. Pat. No. 5,651,078, discloses a system that reduces the contouring in images reproduced from compressed video signals. Chan teaches that some contours result from discrete cosine transformation (DCT) compression, which are more commonly called blocking artifacts. Chan observes that this problem is most noticeable in the dark regions of image and as a result adds noise to certain DCT coefficients when the block's DC term is low (corresponding to a dark area). The resulting noise masks the contour artifacts, however, the dark areas become noisier as a result. The dark areas thus have a noise similar to film-grain-like noise which may be preferable to the blocking artifacts.
What is desirable is a system for reducing contouring effects of an image. Because the system does not necessarily affect the encoding or transmission processes, it can be readily integrated into established systems.